package com.example.pre.exception;

import com.example.pre.tools.JsonConvert;

/**
 * 
 * @Copyright 2021 四川澳沙科技有限公司
 * 
 * @ClassName: ExtParaException.java
 * @Description: 三方异常类
 * @version: v1.0.0
 * @author: hepan
 * @date: 2021年6月24日-下午2:13:05
 */
public class ExtParaException extends RuntimeException {

	private static final long serialVersionUID = 6949072196180501250L;

	/**
	 * 业务错误,适用于三方调用
	 * 
	 * @param logMessage  记录日志的错误信息
	 * @param showMessage 提示给调用者的错误信息
	 */
	public ExtParaException(String logMessage, String showMessage) {
		super(JsonConvert.getJsonArrStrFromList(new ExceptionMessage(logMessage, showMessage)));
	}

	/**
	 * 业务错误，使用于本地业务调用
	 * 
	 * @param logMessage  记录日志的错误信息
	 * @param showMessage 提示给调用者的错误信息
	 * @param code        错误码
	 */
	public ExtParaException(String logMessage, String showMessage, int code) {
		super(JsonConvert.getJsonArrStrFromList(new ExceptionMessage(logMessage, showMessage, code)));
	}

	/**
	 * 获取指定的异常类
	 * 
	 * @return ExceptionMessage 实体
	 */
	public ExceptionMessage getExceptionMessage() {
		return JsonConvert.toBean(super.getMessage(), ExceptionMessage.class);
	}

}
